====================
Построитель запросов
====================

Класс ``Search`` представляет собой построитель запросов в синтаксисе прямого поиска ИРБИС64. В нём имеются следующие статические методы:

* **All()** -- отбор всех документов в базе. Фактически строит запрос ``I=$``.

* **Equals** -- поиск по совпадению с одним из перечисленных значений. Возвращает построитель запросов для последующих цепочечных вызовов.

Экземплярные методы:

* **And** -- логическое И. Возвращает построитель запросов для последующих цепочечных вызовов.

* **Not** -- логическое НЕ. Возвращает построитель запросов для последующих цепочечных вызовов.

* **Or** -- логическое ИЛИ. Возвращает построитель запросов для последующих цепочечных вызовов.

* **SameField** -- логический оператор "в том же поле". Возвращает построитель запросов для последующих цепочечных вызовов.

* **SameRepeat** -- логический оператор "в том же повторении поля". Возвращает построитель запросов для последующих цепочечных вызовов.

Кроме того, предоставляются следующие функции, значительно упрощающие формирование запроса:

================ ========================
  Функция         Поиск по
================ ========================
  author          автору
  bbk             индексу ББК
  document_kind   виду документа
  keyword         ключевым словам
  language        языку текста
  magazine        заглавию журнала
  mhr             месту хранения
  number          инвентарному номеру
  place           месту издания (городу)
  publisher       издательству
  rzn             разделу знаний
  subject         предметной рубрике
  title           заглавию
  udc             индексу УДК
  year            году издания
================ ========================

Пример применения построителя запросов:

.. code-block:: c++

  // TO BE DONE
